package com.jic.market.service.rest.seckill;

import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.market.request.rest.seckill.*;
import com.jic.market.response.rest.SeckillArrResponse;
import com.jic.market.response.rest.SeckillInfoResponse;
import com.jic.market.response.rest.seckill.QueryGoodsListResponse;
import com.jic.market.response.rest.seckill.SeckillTimeListResponse;
import org.springframework.web.bind.annotation.RequestBody;

import javax.validation.Valid;
import java.util.List;

public interface SeckillRestService {

    RestResult<List<SeckillTimeListResponse>> seckillTimeList(SeckillTimeListRequest request);

    RestResult<PageResult<QueryGoodsListResponse>> queryGoodsList(QueryGoodsListRequest queryGoodsListRequest);

    RestResult<PageResult<QueryGoodsListResponse>> queryProcessingGoodsListPage(QueryProcessingGoodsListPageRequest request);

    RestResult<Boolean> checkSeckillProduct(CheckSeckillRequest request);

    RestResult<PageResult<QueryGoodsListResponse>> queryAboutStartGoodsListPage(QueryProcessingGoodsListPageRequest request);

    RestResult<PageResult<QueryGoodsListResponse>> queryHasNotStartGoodsListPage(QueryProcessingGoodsListPageRequest request);

    RestResult<SeckillInfoResponse> getSecondsKillInfo(SeckillInfoRequest seckillInfoRequest);

    /**
     * 查询时间段数据
     *
     * @return
     */
    RestResult<List<SeckillTimeListResponse>> queryPeriodOfTime();
}
